package com.ruoyi.lh.mapper;

import java.util.List;

import com.ruoyi.lh.domain.Machine;
import com.ruoyi.lh.domain.Software;
import com.ruoyi.web.controller.dto.CheckUpdateParams;
import org.apache.ibatis.annotations.Param;

/**
 * 软件Mapper接口
 *
 * @author LH
 * @date 2023-08-02
 */
public interface SoftwareMapper {
    /**
     * 查询软件
     *
     * @param id 软件主键
     * @return 软件
     */
    public Software selectSoftwareById(Long id);

    /**
     * 查询软件列表
     *
     * @param software 软件
     * @return 软件集合
     */
    public List<Software> selectSoftwareList(Software software);

    /**
     * 新增软件
     *
     * @param software 软件
     * @return 结果
     */
    public int insertSoftware(Software software);

    /**
     * 修改软件
     *
     * @param software 软件
     * @return 结果
     */
    public int updateSoftware(Software software);

    /**
     * 删除软件
     *
     * @param id 软件主键
     * @return 结果
     */
    public int deleteSoftwareById(Long id);

    /**
     * 批量删除软件
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSoftwareByIds(String[] ids);

    List<Software> selectSoftware(CheckUpdateParams checkUpdateParams);

    List<Machine> selectMachineList(@Param("snList") List<String> snList);

    List<Software> selectSoftwareByIds(String[] ids);
}
